package com.example.leetdemo.plan1;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Sword015 {

    public List<Integer> findAnagrams(String s, String p) {
        if (p.length() > s.length()) {
            return new ArrayList<>();
        }
        List<Integer> list = new ArrayList<>();
        int[] a = new int[26];
        int[] b = new int[26];
        for (int i = 0; i < p.length(); i++) {
            ++a[s.charAt(i) - 'a'];
            ++b[p.charAt(i) - 'a'];
        }
        if (Arrays.equals(a, b)) {
            list.add(0);
        }
        for (int i = 1; i < s.length() - p.length() + 1; i++) {
            --a[s.charAt(i - 1) - 'a'];
            ++a[s.charAt(i + p.length() - 1) - 'a'];
            if (Arrays.equals(a, b)) {
                list.add(i);
            }
        }
        return list;
    }

    public static void main(String[] args) {
        Sword015 sword015 = new Sword015();
        System.err.println(sword015.findAnagrams("abab", "ab"));
    }
}
